package com.amoby.main.mapper;

import java.util.List;
import java.util.Map;

import com.amoby.base.common.Pager;
import com.amoby.main.entity.Business;
import com.amoby.main.entity.Cbabill;

public interface CbabillMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Cbabill record);

    int insertSelective(Cbabill record);

    Cbabill selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Cbabill record);

    int updateByPrimaryKey(Cbabill record);

    /**
     * 根据ID取出Bill对象， 并且加锁，防止多个事务并发处理
     * 
     * @param billId
     * @return
     */
    Cbabill selectByIdForUpdate(Long billId);

    /**
     * 根据参数取出ID集合
     * @param params
     * @return
     */
    List<Long> selectIdList(Map<String, Object> params);

    /**
     * 加载页
     * @param pager
     * @return
     */
    List<Cbabill> selectPage(Pager pager);

    /**
     * 加载页
     * @param params
     * @return
     */
    List<Map<String, Object>> selectPageList(Map<String, Object> params);

    /**
     * 加载页
     * @param params
     * @return
     */
    int selectPageCount(Map<String, Object> params);

    /**
     * 更新账单信息
     * @param entity
     * @return
     */
    int updateCbabill(Cbabill entity);

    Business getBusinessByBill(Long id);

    /**
     * 活动 调用 根据cbabill id 查询出对应商家
     * @param id
     * @return
     */
    Business getEventBusinessByBill(Long id);

    /**
     * 修改状态
     * @param map
     * @return
     */
    int updateIsActive(Map<String, Object> map);

    /**
     * 查询支付宝对应活动订单的商家信息
     * 
     */
    Business getAlipayBusinessByBill(Long id);

    List<Map<String, Object>> exportAll(Map<String, Object> map); //导出
}